Merge from mainline.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 6 Jan 2010 09:16:36 +0000 (09:16 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 6 Jan 2010 09:16:36 +0000 (09:16 +0000)
1  2 
lisp/gnus/ChangeLog
lisp/gnus/gnus-art.el
lisp/gnus/message.el

index b992b9e30e74e69366cf24bde93ed841d659f95d,b992b9e30e74e69366cf24bde93ed841d659f95d..158e4b90c9a9f2fce562d061e9de792f1ca89d84
@@@ -1,3 -1,3 +1,10 @@@
++2010-01-06  Katsumi Yamaoka  <yamaoka@jpl.org>
++
++      * gnus-art.el (gnus-article-describe-bindings): Work for prefix keys.
++
++      * message.el (message-check-news-header-syntax): Protect against a
++      string that `rfc822-addresses' returns when parsing fails.
++
  2010-01-06  Katsumi Yamaoka  <yamaoka@jpl.org>
  
        * gnus-util.el (gnus-invisible-p, gnus-next-char-property-change)
index 6bc84e4222541107c2be7d00bea1b8bbb4e5bdb0,6bc84e4222541107c2be7d00bea1b8bbb4e5bdb0..dcb6388399719857d8c8036ef571e6c152964217
@@@ -6477,10 -6477,10 +6477,17 @@@ then we display only bindings that star
    (let ((keymap (copy-keymap gnus-article-mode-map))
        (map (copy-keymap gnus-article-send-map))
        (sumkeys (where-is-internal 'gnus-article-read-summary-keys))
--      agent draft)
++      parent agent draft)
      (define-key keymap "S" map)
      (define-key map [t] nil)
      (with-current-buffer gnus-article-current-summary
++      (set-keymap-parent
++       keymap
++       (if (setq parent (keymap-parent gnus-article-mode-map))
++         (prog1
++             (setq parent (copy-keymap parent))
++           (set-keymap-parent parent (current-local-map)))
++       (current-local-map)))
        (set-keymap-parent map (key-binding "S"))
        (let (key def gnus-pick-mode)
        (while sumkeys
index 18feee83032a1bedc08de6c5eec3e8a528b60bbc,18feee83032a1bedc08de6c5eec3e8a528b60bbc..941fa92b8b3256f908533ccb440e9ba88d75d5ba
@@@ -5077,7 -5077,7 +5077,8 @@@ Otherwise, generate and save a value fo
          "Denied posting -- the From looks strange: \"%s\"." from)
         nil)
        ((let ((addresses (rfc822-addresses from)))
--         (while (and addresses
++         ;; `rfc822-addresses' returns a string if parsing fails.
++         (while (and (consp addresses)
                       (not (eq (string-to-char (car addresses)) ?\()))
             (setq addresses (cdr addresses)))
           addresses)